package com.xianggu.designMode.bridgePattern;

// 抽象部分：形状抽象类
abstract class Shape {
    protected Color color; // 持有颜色实现的引用

    public Shape(Color color) {
        this.color = color;
    }

    public abstract void draw();
}

// 具体抽象：圆形
class Circle extends Shape {
    public Circle(Color color) {
        super(color);
    }

    @Override
    public void draw() {
        System.out.print("绘制圆形，");
        color.applyColor(); // 调用颜色实现
    }
}

// 具体抽象：矩形
class Rectangle extends Shape {
    public Rectangle(Color color) {
        super(color);
    }

    @Override
    public void draw() {
        System.out.print("绘制矩形，");
        color.applyColor(); // 调用颜色实现
    }
}